今天稍微整理了程式,並且下載了github desktop來上傳程式,但中間不小心把Rust的.pdb檔案傳到github上了,於是今天花了一些時間研究怎麼移除歷史記錄,使用的工具是BFG Repo-Cleaner,網址:
https://rtyley.github.io/bfg-repo-cleaner/
Claude.ai解釋.pdb:
# Rust 中的 .pdb 檔案
## 什麼是 .pdb 檔案?
.pdb 檔案代表「程式資料庫」(Program Database)。這是一種包含除錯資訊的檔案格式,最初由微軟為 Windows 平台開發。
## .pdb 檔案在 Rust 中的作用
1. 除錯資訊:
- .pdb 檔案包含原始碼和編譯後的機器碼之間的對應關係。
- 它儲存了變數名稱、函式名稱、行號等資訊。
2. 除錯體驗:
- 使除錯器能夠顯示原始碼層級的資訊,而不僅僅是機器碼。
- 允許開發者在除錯時設置中斷點、檢查變數值等。
3. 錯誤報告:
- 在程式崩潰時,.pdb 檔案可以幫助生成更詳細的錯誤報告。
## Rust 特定的考慮
- 在 Rust 中,當你在 Windows 上編譯程式時(特別是在 debug 模式下),編譯器會生成 .pdb 檔案。
- 這些檔案通常位於 `target/debug/` 目錄下。
## 為什麼不應該版本控制 .pdb 檔案?
1. 大小:
- .pdb 檔案通常非常大,可能比編譯後的可執行檔還大。
2. 特定環境:
- 它們是針對特定的編譯環境生成的,在不同機器上可能不相容。
3. 安全性:
- .pdb 檔案包含詳細的程式結構資訊,可能洩露敏感資訊。
4. 可重現性:
- 它們可以在需要時重新生成,不需要儲存在版本控制中。
## 最佳實踐
- 將 *.pdb 加入到 .gitignore 檔案中。
- 在發布版本時,可以單獨提供 .pdb 檔案,以便使用者在需要時進行除錯。
- 在 CI/CD 流程中,可以將 .pdb 檔案作為構建產物保存,但不要提交到程式碼儲存庫。
關於github,我是參考保哥的30 天精通 Git 版本控管:
https://github.com/doggy8088/Learn-Git-in-30-days/blob/master/zh-tw/README.md
文章用來了解基礎觀念非常棒,但我還是想試用github desktop,看看體驗如何,剛開始很多按鈕看不懂,總感覺指令比較好用,但現在覺得GUI還是有許多好處,比如勾選想commit的檔案這一點就非常方便